ifeq ($(KERNELRELEASE),)
#第一次执行时 KERNELRELEASE 为空，执行此分支

KERNELDIR ?= /home/lf/workspace/source/my_source/linux/linux-5.4.31
ROOTFS ?= /home/lf/workspace/rootfs
PWD := $(shell pwd)

#$(MAKE) 相当于 make
#-C $(KERNELDIR) 执行 KERNELDIR 目录的Makefile
#M=$(PWD) 内核源码树之外的一个目录
#modules 只编译模块
all:
	$(MAKE) -C $(KERNELDIR) ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- M=$(PWD) modules
module:
	$(MAKE) -C $(KERNELDIR) ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- M=$(PWD) modules
install:
	cp *.ko $(ROOTFS)/root/
#	$(MAKE) -C $(KERNELDIR) ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- M=$(PWD) INSTALL_MOD_PATH=$(ROOTFS) modules_install
clean:
	rm -rf *.o  .*.cmd *.mod.* *.mod modules.order Module.symvers .tmp_versions
else
#当从源码目录的 Makefile 再次进入时 KERNELRELEASE 已经赋值，执行此分支
#obj-m 表示编译成模块
	obj-m := virtual_adapter.o
endif